package cn.bdqn.service;

import cn.bdqn.dto.Dto;
import cn.bdqn.pojo.ItripUser;
import cn.bdqn.vo.ItripUserRegInfo;

/**
 * Created by Administrator on 2018/8/20.
 */
public interface UserService {


    /**
     * 添加用户注册信息
     *
     * @param record 封装了用户注册信息的对象
     * @return 受影响的行数
     */
    Dto regdit(ItripUserRegInfo user);

    /**
     * 用户根据收到的激活码激活用户
     * @param username
     * @param activeCode
     * @return
     */
    Dto active(String username,String activeCode);


    /**
     * 通过用户账号找到对应user对象
     * @param userCode 用户账号
     * @return 符合条件的user对象
     */
    ItripUser getUserByUserCode(String userCode);


    /**
     * 根据用户账号修改用户状态码
     * @param userCode 用户账号
     * @return  受影响的行数
     */
    Boolean updateUserByUserCode(ItripUser user);

    /**
     * 重新激活手机号操作
     * @param user
     * @return
     */
    Dto activePhone(String userCode);

    /**
     * 重新激活邮箱操作
     * @param user
     * @return
     */
    public Dto activeEmail(String userCode);

/**
 * 登陆用户
 * @param userCode,userPassword
 * @return Dto
 */
    public Dto selectLogin(ItripUser itripUser);

    /**
     * 判断用户是否激活
     * @param userCode
     * @return
     */
    public boolean selectItripUserActive(String userCode);

    /**
     * 判断用户是否已经注册
     * @param userCode
     * @return
     */
    public  Dto selectItripUserRepeat(String userCode);


    /**
     * 验证本地库是否存在该用户
     * @param username
     * @return
     * @throws Exception
     */
    public ItripUser findByUsername(String username) throws Exception;


    /**
     * 第三方微信
     * 如果没有用户 就插入用户
     * @param user
     * @throws Exception
     */
    public void itripCreateUser(ItripUser user) throws Exception;

}
